Map[]
Как-раз описывает - какой "уровень" выбирается в зависимости от состояния (активности) модификатора. В квадратных скобках указывается модификатор или их комбинация (через знак '+'), а справа от "знака присваивания" - соответствующий "уровень" (Level1, Level2 ...). Кроме того, в качестве модификатора (внутри скобок) может встречаться специальное слово "None", что, как не трудно догадаться, означает отсутствие (точнее - неактивное состояние) модификаторов.
Например,
map[None] = Level1;
если модификатор (модификаторы) не активен, то используется "уровень" 1,
map[Shift] = Level2;
если активен модификатор Shift, то выбирается "уровень" 2,
map[Control+Alt] = Level3;
если активны сразу два модификатора - Control и Alt, то выбрать "уровень" 3.
Обратите внимание, что в последнем примере каждый из модификаторов Control и Alt, по-отдельности могут никак не влиять на изменения "уровня", (а только нажатые вместе). В этом случае в описании типа не будет строчек c map[Control] и map[Alt].
А вот map[None], как правило, присутствует в каждом типе.
Замечу также, что уровень можно указывать как по имени - Level1, Level2 и т.д., так и просто числом в допустимом диапазоне (1-64). Кстати, программа xkbcomp понимает только названия от Level1 до Level8. Поэтому если вам понадобится больше уровней, то указать их вы сможете только цифрами.